<!DOCTYPE html
  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- saved from url=(0014)about:internet -->
<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<meta name="DC.Type" content="reference">
<meta name="DC.Title" content="Whole Container Operations">
<meta name="DC.subject" content="Whole Container Operations">
<meta name="keywords" content="Whole Container Operations">
<meta name="DC.Relation" scheme="URI" content="../../../reference/thread_local_storage/enumerable_thread_specific_cls.htm">
<meta name="DC.Format" content="XHTML">
<meta name="DC.Identifier" content="whole_container_operations_specific_cls">
<meta name="DC.Language" content="en-US">
<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
<title>Whole Container Operations</title>
</head>
<body id="whole_container_operations_specific_cls">
 <!-- ==============(Start:NavScript)================= -->
 <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
 <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
 <!-- ==============(End:NavScript)================= -->
<a name="whole_container_operations_specific_cls"><!-- --></a>

 
  <h1 class="topictitle1">Whole Container Operations</h1>
 
  
  <div>
	 <div class="section">
		<p><strong>Safety</strong>
		</p>
 
		<p>These operations must not be invoked concurrently
		  on the same instance of 
		  <samp class="codeph">enumerable_thread_specific</samp>. 
		</p>

		
<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
			 members of this template class. 
		  </span><thead align="left"> 
				<tr> 
				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d121119e42">Member 
				  </th>
 
				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d121119e45">Description 
				  </th>
 
				</tr>
</thead>
 
			 <tbody> 
				<tr> 
				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d121119e42 "><span class="keyword">enumerable_thread_specific()</span> 
				  </td>
 
				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d121119e45 ">
					 <p>Constructs an 
						<samp class="codeph">enumerable_thread_specific</samp> where each local
						copy will be default constructed.
					 </p>
 
				  </td>
 
				</tr>
 
				<tr> 
				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d121119e42 "><span class="keyword">enumerable_thread_specific(const
						enumerable_thread_specific &amp;other)</span> 
				  </td>
 
				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d121119e45 ">
					 <p>Copy construct an 
						<samp class="codeph">enumerable_thread_specific</samp>. The values are
						copy constructed from the values in 
						<samp class="codeph"><em>other</em></samp> and have same thread
						correspondence.
					 </p>
 
				  </td>
 
				</tr>
 
				<tr> 
				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d121119e42 "><span class="keyword"> template&lt;typename U, typename
						Alloc, ets_key_usage_type Cachetype&gt; enumerable_thread_specific( const
						enumerable_thread_specific&lt;U, Alloc, Cachetype&gt;&amp; other )</span> 
				  </td>
 
				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d121119e45 ">
					 <p>Copy construct an 
						<samp class="codeph">enumerable_thread_specific</samp>. The values are
						copy constructed from the values in 
						<samp class="codeph"><em>other</em></samp> and have same thread
						correspondence.
					 </p>
 
				  </td>
 
				</tr>
 
				<tr> 
				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d121119e42 "><span class="keyword">template&lt; typename Finit&gt;
						enumerable_thread_specific(Finit finit)</span> 
				  </td>
 
				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d121119e45 ">
					 <p>Constructs 
						<samp class="codeph">enumerable_thread_specific</samp> such that any
						thread-local element will be created by copying the result of 
						<samp class="codeph">finit()</samp>. 
					 </p>
 
					 <div class="Note"><h3 class="NoteTipHead">
					Note</h3>
						<p>The expression 
						  <samp class="codeph">finit()</samp> must be safe to evaluate
						  concurrently by multiple threads. It is evaluated each time a thread-local
						  element is created.
						</p>

					 </div> 
				  </td>
 
				</tr>
 
				<tr> 
				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d121119e42 "><span class="keyword">enumerable_thread_specific(const
						T&amp; exemplar)</span> 
				  </td>
 
				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d121119e45 ">
					 <p>Constructs an 
						<samp class="codeph">enumerable_thread_specific</samp> where each local
						copy will be copy constructed from 
						<samp class="codeph"><em>exemplar</em></samp>.
					 </p>
 
				  </td>
 
				</tr>
 
				<tr> 
				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d121119e42 "><span class="keyword">~enumerable_thread_specific()</span> 
				  </td>
 
				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d121119e45 ">
					 <p>Destroys all elements in 
						<samp class="codeph">*this</samp>. Destroys any native TLS keys that
						were created for this instance.
					 </p>
 
				  </td>
 
				</tr>
 
				<tr> 
				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d121119e42 "><span class="keyword"> enumerable_thread_specific&amp;
						operator=(const enumerable_thread_specific&amp; other);</span> 
				  </td>
 
				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d121119e45 ">
					 <p>Sets 
						<samp class="codeph">*this</samp> to be a copy of 
						<samp class="codeph"><em>other</em></samp>. 
					 </p>
 
				  </td>
 
				</tr>
 
				<tr> 
				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d121119e42 "><span class="keyword">template&lt; typename U, typename
						Alloc, ets_key_usage_type Cachetype&gt; enumerable_thread_specific&amp;
						operator=(const enumerable_thread_specific&lt;U, Alloc, Cachetype&gt;&amp;
						other);</span> 
				  </td>
 
				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d121119e45 ">
					 <p>Sets 
						<samp class="codeph">*this</samp> to be a copy of 
						<samp class="codeph"><em>other</em></samp>. 
					 </p>
 
					 <div class="Note"><h3 class="NoteTipHead">
					Note</h3>
						<p>The allocator and key usage
						  specialization is unchanged by this call.
						</p>

					 </div> 
				  </td>
 
				</tr>

				<tr>
				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d121119e42 "><span class="keyword"> void clear()</span> 
				  </td>

				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d121119e45 ">
					 <p>Destroys all elements in 
						<samp class="codeph">*this</samp>. Destroys and then recreates any
						native TLS keys used in the implementation. 
					 </p>
 
					 <div class="Note"><h3 class="NoteTipHead">
					Note</h3>
						<p>In the current implementation, there is
						  no performance advantage of using clear instead of destroying and
						  reconstructing an 
						  <samp class="codeph">enumerable_thread_specific</samp>. 
						</p>

					 </div>
				  </td>

				</tr>
 
			 </tbody>
 
		  </table>
</div>

	 </div>
 
  </div>
 

<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong>&nbsp;<a href="../../../reference/thread_local_storage/enumerable_thread_specific_cls.htm">enumerable_thread_specific Template Class</a></div>
</div>
<div></div>

</body>
</html>
